{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import bayesnet as bn\n",
    "\n",
    "np.random.seed(1234)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "x_train = np.linspace(-3, 3, 10)[:, None]\n",
    "y_train = np.cos(x_train) + np.random.normal(0, 0.1, size=x_train.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class BayesianNetwork(bn.Network):\n",
    "    \n",
    "    def __init__(self, n_input, n_hidden, n_output):\n",
    "        super().__init__(\n",
    "            w1_mu=np.zeros((n_input, n_hidden)),\n",
    "            w1_s=np.zeros((n_input, n_hidden)),\n",
    "            b1_mu=np.zeros(n_hidden),\n",
    "            b1_s=np.zeros(n_hidden),\n",
    "            w2_mu=np.zeros((n_hidden, n_output)),\n",
    "            w2_s=np.zeros((n_hidden, n_output)),\n",
    "            b2_mu=np.zeros(n_output),\n",
    "            b2_s=np.zeros(n_output)\n",
    "        )\n",
    "\n",
    "    def __call__(self, x, y=None):\n",
    "        self.qw1 = bn.random.Gaussian(\n",
    "            self.w1_mu, bn.softplus(self.w1_s),\n",
    "            p=bn.random.Gaussian(0, 1)\n",
    "        )\n",
    "        self.qb1 = bn.random.Gaussian(\n",
    "            self.b1_mu, bn.softplus(self.b1_s),\n",
    "            p=bn.random.Gaussian(0, 1)\n",
    "        )\n",
    "        self.qw2 = bn.random.Gaussian(\n",
    "            self.w2_mu, bn.softplus(self.w2_s),\n",
    "            p=bn.random.Gaussian(0, 1)\n",
    "        )\n",
    "        self.qb2 = bn.random.Gaussian(\n",
    "            self.b2_mu, bn.softplus(self.b2_s),\n",
    "            p=bn.random.Gaussian(0, 1)\n",
    "        )\n",
    "        h = bn.tanh(x @ self.qw1.draw() + self.qb1.draw())\n",
    "        mu = h @ self.qw2.draw() + self.qb2.draw()\n",
    "        self.py = bn.random.Gaussian(mu, 0.1, data=y)\n",
    "        if y is None:\n",
    "            return self.py.draw().value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "model = BayesianNetwork(1, 20, 1)\n",
    "optimizer = bn.optimizer.Adam(model, 0.1)\n",
    "optimizer.set_decay(0.9, 100)\n",
    "\n",
    "for _ in range(10000):\n",
    "    model.clear()\n",
    "    model(x_train, y_train)\n",
    "    elbo = model.elbo()\n",
    "    elbo.backward()\n",
    "    optimizer.update()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b51d828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-3, 3, 1000)[:, None]\n",
    "plt.scatter(x_train, y_train)\n",
    "y = [model(x) for _ in range(100)]\n",
    "y_mean = np.mean(y, axis=0)\n",
    "y_std = np.std(y, axis=0)\n",
    "plt.plot(x, y_mean, c=\"orange\")\n",
    "plt.fill_between(x.ravel(), (y_mean - y_std).ravel(), (y_mean + y_std).ravel(), color=\"orange\", alpha=0.2)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x10b4e85c0>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b495320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameter = []\n",
    "parameter.extend(list(model.w1_mu.value.ravel()))\n",
    "parameter.extend(list(model.b1_mu.value.ravel()))\n",
    "parameter.extend(list(model.w2_mu.value.ravel()))\n",
    "parameter.extend(list(model.b2_mu.value.ravel()))\n",
    "plt.plot(parameter)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class ARDNetwork(bn.Network):\n",
    "    \n",
    "    def __init__(self, n_input, n_hidden, n_output):\n",
    "        super().__init__(\n",
    "            w1_mu=np.zeros((n_input, n_hidden)),\n",
    "            w1_s=np.zeros((n_input, n_hidden)),\n",
    "            shape_w1=np.ones((n_input, n_hidden)),\n",
    "            rate_w1=np.ones((n_input, n_hidden)),\n",
    "            b1_mu=np.zeros(n_hidden),\n",
    "            b1_s=np.zeros(n_hidden),\n",
    "            shape_b1=np.ones(n_hidden),\n",
    "            rate_b1=np.ones(n_hidden),\n",
    "            w2_mu=np.zeros((n_hidden, n_output)),\n",
    "            w2_s=np.zeros((n_hidden, n_output)),\n",
    "            shape_w2=np.ones((n_hidden, n_output)),\n",
    "            rate_w2=np.ones((n_hidden, n_output)),\n",
    "            b2_mu=np.zeros(n_output),\n",
    "            b2_s=np.zeros(n_output),\n",
    "            shape_b2=np.ones(n_output),\n",
    "            rate_b2=np.ones(n_output)\n",
    "        )\n",
    "\n",
    "    def __call__(self, x, y=None):\n",
    "        ptau_w1 = bn.random.Gamma(1., 1e-2)\n",
    "        self.qtau_w1 = bn.random.Gamma(bn.softplus(self.shape_w1), bn.softplus(self.rate_w1), p=ptau_w1)\n",
    "        pw1 = bn.random.Gaussian(0, tau=self.qtau_w1.draw())\n",
    "        self.qw1 = bn.random.Gaussian(self.w1_mu, bn.softplus(self.w1_s), p=pw1)\n",
    "\n",
    "        ptau_b1 = bn.random.Gamma(1., 1e-2)\n",
    "        self.qtau_b1 = bn.random.Gamma(bn.softplus(self.shape_b1), bn.softplus(self.rate_b1), p=ptau_b1)\n",
    "        pb1 = bn.random.Gaussian(0, tau=self.qtau_b1.draw())\n",
    "        self.qb1 = bn.random.Gaussian(self.b1_mu, bn.softplus(self.b1_s), p=pb1)\n",
    "\n",
    "        ptau_w2 = bn.random.Gamma(1., 1e-2)\n",
    "        self.qtau_w2 = bn.random.Gamma(bn.softplus(self.shape_w2), bn.softplus(self.rate_w2), p=ptau_w2)\n",
    "        pw2 = bn.random.Gaussian(0, tau=self.qtau_w2.draw())\n",
    "        self.qw2 = bn.random.Gaussian(self.w2_mu, bn.softplus(self.w2_s), p=pw2)\n",
    "\n",
    "        ptau_b2 = bn.random.Gamma(1., 1e-2)\n",
    "        self.qtau_b2 = bn.random.Gamma(bn.softplus(self.shape_b2), bn.softplus(self.rate_b2), p=ptau_b2)\n",
    "        pb2 = bn.random.Gaussian(0, tau=self.qtau_b2.draw())\n",
    "        self.qb2 = bn.random.Gaussian(self.b2_mu, bn.softplus(self.b2_s), p=pb2)\n",
    "\n",
    "        h = bn.tanh(x @ self.qw1.draw() + self.qb1.draw())\n",
    "        mu = h @ self.qw2.draw() + self.qb2.draw()\n",
    "        self.py = bn.random.Gaussian(mu, 0.1, data=y)\n",
    "        if y is None:\n",
    "            return self.py.draw().value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "model = ARDNetwork(1, 20, 1)\n",
    "optimizer = bn.optimizer.Adam(model, 0.1)\n",
    "optimizer.set_decay(0.9, 100)\n",
    "\n",
    "for _ in range(10000):\n",
    "    model.clear()\n",
    "    model(x_train, y_train)\n",
    "    elbo = model.elbo()\n",
    "    elbo.backward()\n",
    "    optimizer.update()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1043f8dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-3, 3, 1000)[:, None]\n",
    "plt.scatter(x_train, y_train)\n",
    "y = [model(x) for _ in range(100)]\n",
    "y_mean = np.mean(y, axis=0)\n",
    "y_std = np.std(y, axis=0)\n",
    "plt.plot(x, y_mean, c=\"orange\")\n",
    "plt.fill_between(x.ravel(), (y_mean - y_std).ravel(), (y_mean + y_std).ravel(), color=\"orange\", alpha=0.2)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x10b547278>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1044198d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameter = []\n",
    "parameter.extend(list(model.w1_mu.value.ravel()))\n",
    "parameter.extend(list(model.b1_mu.value.ravel()))\n",
    "parameter.extend(list(model.w2_mu.value.ravel()))\n",
    "parameter.extend(list(model.b2_mu.value.ravel()))\n",
    "plt.plot(parameter)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
